package com.itheima.reggie.common;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

/**
 * 思路:
 *
 * 1. 创建一个list集合存放日期
 * 2. 建日历对象,并将日期调整到12个月之前(比如北京时间是2020-7,调整之后是2019-7)
 * 3. 由于要获取最近一年的月份所以循环12次
 * 4. 在循环中将日历对象转为日期对象,在转为字符串对象,添加进list容器中
 * 5. 每次添加完毕后把日历对象的月份+1(不然下次循环的日期没变化)
 * 6. 最后返回集合即可
 */
public class ThisYearMonths {
    //获取最近一年的月份
    public static List<String> getThisYearMonths(){
        //建一个容器
        List<String> months=new ArrayList<>();
        //获取日历对象
        Calendar calendar = Calendar.getInstance();
        //调整到12个月以前
        calendar.add(Calendar.MONTH,-11) ;
        //循环12次获取12个月份
        for (int i = 0; i < 12; i++) {
            //日历对象转为Date对象
            Date date = calendar.getTime();
            //将date转为字符串
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
            String dateStr = sdf.format(date);
            //向list集合中添加
            months.add(dateStr);
            //每次月份+1
            calendar.add(Calendar.MONTH,1);
        }
        return months;
    }
}
